/**
 * 文档导出辅助函数
 */

/**
 * 格式化日期为中文格式 (YYYY年MM月DD日)
 * @param {Date} date 日期对象
 * @returns {string} 格式化后的日期字符串
 */
function formatChineseDate(date) {
    if (!date) date = new Date();
    const year = date.getFullYear();
    const month = date.getMonth() + 1;
    const day = date.getDate();
    return `${year}年${month}月${day}日`;
}

/**
 * 生成随机客户ID
 * @returns {string} 客户ID
 */
function generateCustomerId() {
    const prefix = 'CUST';
    const randomNum = Math.floor(Math.random() * 10000).toString().padStart(4, '0');
    return `${prefix}${randomNum}`;
}

/**
 * 从模板列表获取选中的模板名称
 * @param {string} tabId 标签页ID
 * @returns {string} 模板名称
 */
function getSelectedTemplate(tabId) {
    const tab = document.getElementById(tabId);
    const selectedCard = tab.querySelector('.template-card.selected');
    return selectedCard ? selectedCard.getAttribute('data-template') : 'sample_template.docx';
}

/**
 * 预设文档数据
 * @param {string} type 文档类型 (word/pdf)
 */
function presetDocumentData(type) {
    const today = formatChineseDate(new Date());
    const customerId = generateCustomerId();
    
    const data = {
        title: `${type === 'word' ? 'Word' : 'PDF'}测试文档`,
        author: "系统管理员",
        date: today,
        content: `这是一个测试${type === 'word' ? 'Word' : 'PDF'}文档，用于演示文档导出功能。\n\n可以包含多段落文本和格式化内容。`,
        customerName: "测试客户",
        customerId: customerId
    };
    
    document.getElementById(`${type}-placeholders`).value = JSON.stringify(data, null, 2);
}

/**
 * 重置表单数据
 * @param {string} type 文档类型 (word/pdf)
 */
function resetForm(type) {
    document.getElementById(`${type}-filename`).value = "示例文档";
    document.getElementById(`${type}-header`).value = "测试文档";
    document.getElementById(`${type}-footer`).value = "保密文件";
    document.getElementById(`${type}-watermark`).value = "机密文件";
    document.getElementById(`${type}-watermark-color`).value = "#cccccc";
    document.getElementById(`${type}-show-page-numbers`).checked = true;
    
    presetDocumentData(type);
}

// 当页面加载时导出这些函数到全局作用域
window.formatChineseDate = formatChineseDate;
window.generateCustomerId = generateCustomerId;
window.getSelectedTemplate = getSelectedTemplate;
window.presetDocumentData = presetDocumentData;
window.resetForm = resetForm; 